package com.yhn.shortlink.project.utils;

import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import com.yhn.shortlink.common.constant.ShortLinkConstant;

import java.util.Date;
import java.util.Optional;

/** 短链接工具类
 * @author yhn
 * @version 1.0
 * @description
 * @date 2024/8/6 18:24
 */
public class LinkUtil {
    /**
     * 获取短链接缓存有效期
     * @param validDate 有效期时间
     * @return 有效期时间戳
     */
    public static long getLinkCacheValidDate(Date validDate){
        //如果是永久有效则为空，临时有效设置值
        return Optional.ofNullable(validDate)
                .map(date -> DateUtil.between(new Date(),date, DateUnit.MS))
                .orElse(ShortLinkConstant.DEFAULT_CACHE_TIME);
    }
}
